/*
 * @Author: tomystery
 * @Date:   2017-09-08 12:14:02
 * @Last Modified by:   tomystery
 * @Last Modified time: 2017-09-08 17:31:52
 */
'use strict';
require('./index.css');
require('page/common/nav-simple/index.js');
var _user = require('service/user-service.js');
var _mm = require('util/mm.js');


//表单里的错误提示
var formError = {
    show: function(errMsg) {
        $('.error-item').show().find('.err-msg').text(errMsg);

    },
    hide: function() {
        $('.error-item').hide().find('.err-msg').text('');
    }
}


var page = {
    data: {
        username: '',
        question: '',
        answer: '',
        token: ''
    },
    init: function() {
        this.onLoad();
        this.bindEvent();
    },
    onLoad: function() {
        this.loadStepUsername();

    },
    bindEvent: function() {
        var _this = this;
        //submit-username点击
        $('#submit-username').click(function() {
            var username = $.trim($('#username').val());

            //用户名存在
            if (username) {
                _user.getQuestion(username, function(res) {
                    _this.data.username = username;
                    _this.data.question = res;
                    _this.loadStepQuestion();

                }, function(errMsg) {
                    formError.show(errMsg)
                })
            }
            //用户名不存在
            else {
                formError.show('请输入用户名')
            }
        })

        //输入密码提示问题中的点击
        $('#submit-question').click(function() {
            var answer = $.trim($('#answer').val());

            //用户名存在
            if (answer) {
                _user.checkAnswer({
                        //检查密码提示问题答案
                        username: _this.data.username,
                        question: _this.data.question,
                        answer: answer,
                    },
                    function(res) {
                        _this.data.answer = answer;
                        _this.data.token = res;
                        _this.loadStepPassword();
                    },
                    function(errMsg) {
                        formError.show(errMsg)
                    })
            }
            //用户名不存在
            else {
                formError.show('请输入提示问题的答案')
            }
        })

         //输入新密码提示问题中的点击
        $('#submit-password').click(function() {
            var password = $.trim($('#password').val());

            //密码不为空时
            if (password && password.length>=6) {
                _user.resetPassword({
                        //检查密码提示问题答案
                        username: _this.data.username,
                        passwordNew: password,
                        forgetToken: _this.data.token
                    },
                    function(res) {
                        window.location.href='./result.html?type=pass-reset'
                    },
                    function(errMsg) {
                        formError.show(errMsg)
                    })
            }
            //密码为空时
            else {
                formError.show('请输入不少于6位的新密码')
            }
        })
    },
    //加载第一步
    loadStepUsername: function() {

        $('.step-username').show();
    },
    //加载第二部，提示问题
    loadStepQuestion: function() {
        //清除错误提示
        formError.hide();
        $('.step-username').hide()
            .siblings('.step-question').show()
            .find('.question').text(this.data.question);

    },
    loadStepPassword: function() {
        //清除错误提示
        formError.hide();
        $('.step-question').hide()
            .siblings('.step-password').show()
    },

}
page.init();